#include "on_property_set.h"
#include "spec.h"
#include "mi_iid_define.h"
#include "stdio.h"
#include "S_2_AirConditioner_doSet.h"
#include "S_3_FanControl_doSet.h"
#include "S_5_Alarm_doSet.h"
#include "S_25_AirConditionerDevMode_doSet.h"
#include "S_9_Maintenance_doSet.h"
#include "S_10_Enhance_doSet.h"
#include "S_11_IotLinkage_doSet.h"
#include "S_14_AirFresh_doSet.h"
#include "S_16_SingleSmartScene_doSet.h"
#include "S_23_FavoriteTypeData_doSet.h"
#include "S_27_AiContrrol_doSet.h"
#include "S_36_IndicatorLight_doSet.h"
#include "S_37_PanelSerVice_doSet.h"
#include "S_39_SystemParm_doSet.h"
#include "S_41_DetectNobodySaveEnergy_doSet.h"
#include "S_42_AirFreshFanControl_doSet.h"
#include "S_43_AircFreshLinkage_doSet.h"
#include "main.h"

void on_property_set(property_operation_t *o)
{
    LOG_INFO("on_property_set:  siid = [%d], piid = [%d]\n", o->siid, o->piid);
		
    switch (o->siid)
    {
        case SIID_2_AirConditioner:
            S_2_AirConditioner_doSet(o);
            break;

		case SIID_3_FanControl:
            S_3_FanControl_doSet(o);
            break;
		
		case SIID_5_Alarm:
            S_5_Alarm_doSet(o);
            break;
		
		case SIID_25_AirConditionerDevMode:
            S_25_AirConditionerDevMode_doSet(o);
            break;
		
		case SIID_9_Maintenance:
           S_9_Maintenance_doSet(o);
            break;
		
		case SIID_10_Enhance:
           S_10_Enhance_doSet(o);
            break;
		
		case SIID_11_IotLinkage:
           S_11_IotLinkage_doSet(o);
            break;		
		
		case SIID_14_AirFresh:
           S_14_AirFresh_doSet(o);
            break;
		
		case SIID_16_SingleSmartScene:
           S_16_SingleSmartScene_doSet(o);
            break;
		
		case SIID_23_FavoriteTypeData:
           S_23_FavoriteTypeData_doSet(o);
            break;
		
		case SIID_27_AiContrrol:
           S_27_AiContrrol_doSet(o);
            break;

		case SIID_36_IndicatorLight:
           S_36_IndicatorLight_doSet(o);
            break;
		
		case SIID_37_PanelSerVice:
			S_37_PanelSerVice_doSet(o);
		break;
		
		case SIID_39_SystemParm:
			S_39_SystemParm_doSet(o);
		break;
		
		case SIID_41_DetectNobodySaveEnergy:
			S_41_DetectNobodySaveEnergy_doSet(o);
		break;
		
		case SIID_42_AIRFRESHFANCONTROL:
			S_42_AirFreshFanControl_doSet(o);
		break;
		
		case SIID_43_AIRCFRESHLINKAGE:
			S_43_AircFreshLinkage_doSet(o);
		break;		
        default:
            o->code = OPERATION_ERROR_VALUE;
            break;
    }
}
